﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SDM.ExamPlanner.DTO;

namespace SDM.ExamPlanner.Test
{
    public static class TestObjects
    {
        public static Teacher TeacherObject1()
        {
            return new Teacher
            {
                Firstname = "Bent",
                Lastename = "Pedersen",
                Cpr = 0000013239,
                SchoolName = "EASV",
                IsCensor = false,
                Initials = "BHP",
                Email = "bhp@easv.dk",
                Courses = ListCourseObject(),
                Phone = 20202020
            };
        }

        public static Teacher TeacherObject2()
        {
            return new Teacher
            {
                Firstname = "Ole",
                Lastename = "Gunhilda",
                Cpr = 00000115623,
                SchoolName = "EASV",
                IsCensor = false,
                Initials = "OG",
                Email = "og@easv.dk",
                Courses = ListCourseObject(),
                Phone = 32343536
            };
        }

        public static List<Teacher> ListTeacherObject()
        {
            var list = new List<Teacher>();
            list.Add(TeacherObject1());
            list.Add(TeacherObject2());

            return list;
        }

        public static Classroom ClassRoomObject1()
        {
            return new Classroom 
            { 
                Name = "B13" 
            };
        }

        public static Education EducationObject1()
        {
            return new Education
            {
                Name = "Datamatiker"
            };
        }

        public static SchoolClass SchoolClassObject1()
        {
            return new SchoolClass
            {
                Name = "CS2010",
                Education = EducationObject1(),
                StartDate = DateTime.Parse("31/08/2010"),
                EndDate = DateTime.Parse("28/01/2013"),
                Teachers = ListTeacherObject()
            };
        }

        public static SchoolClass SchoolClassObject2()
        {
            return new SchoolClass
            {
                Name = "CS2011",
                Education = EducationObject1(),
                StartDate = DateTime.Parse("31/08/2011"),
                EndDate = DateTime.Parse("28/01/2014"),
                Teachers = ListTeacherObject()
            };
        }

        public static List<Course> ListCourseObject()
        {
            var list = new List<Course>();
            list.Add(CourseObject1());
            list.Add(CourseObject2());
            return list;
        }

        public static Course CourseObject1()
        {
            return new Course
            {
                Name = "System Development Methodologies"
            };
        }

        public static Course CourseObject2()
        {
            return new Course
            {
                Name = "Android"
            };
        }

        public static Classroom ClassRoomObject2()
        {
            return new Classroom
            {
                Name = "B14"
            };
        }

        internal static Education EducationObject2()
        {
            return new Education
            {
                Name = "Noobs"
            };
        }
    }
}
